﻿// --------------------------------------------------------------------------------------------------------------------
// <copyright file="BackgroundWorkerReport.cs" company="Elilink">
//   Defor
// </copyright>
// <summary>
//   Class with properties for using on BackGroundWorker.ProgressChanged event. Contains information for result window.
// </summary>
// --------------------------------------------------------------------------------------------------------------------

namespace BusinessLayer.Objects.BackgroundWorkerObjects
{
    using System.Drawing;

    /// <summary>
    ///     Class with properties for using on BackGroundWorker.ProgressChanged event. Contains information for result window.
    /// </summary>
    public class BackgroundWorkerReport
    {
        #region Public Properties

        /// <summary>
        /// Gets or sets a value indicating whether current deployment was aborted by user..
        /// </summary>
        public bool Aborted { get; set; }

        /// <summary>
        ///     Gets or sets a value indicating whether or not to add additional empty line in result window.
        /// </summary>
        public bool AddSpace { get; set; }

        /// <summary>
        ///     Gets or sets the color for colored text.
        /// </summary>
        public Color Color { get; set; }

        /// <summary>
        ///     Gets or sets the number of failed deployments.
        /// </summary>
        public int Failure { get; set; }

        /// <summary>
        ///     Gets or sets a value indicating whether text should be colored.
        /// </summary>
        public bool IsColored { get; set; }

        /// <summary>
        ///     Gets or sets a value indicating whether it is the the first report on project to add or not additional empty line in result window.
        /// </summary>
        public bool IsStartProject { get; set; }

        /// <summary>
        ///     Gets or sets a value indicating whether or not worker is sending final statistic.
        /// </summary>
        public bool IsTotal { get; set; }

        /// <summary>
        ///     Gets or sets the current completed project name.
        /// </summary>
        public string ProjectName { get; set; }

        /// <summary>
        ///     Gets or sets the number of skipped deployments (if user aborted process).
        /// </summary>
        public int Skipped { get; set; }

        /// <summary>
        ///     Gets or sets the number of successful deployments.
        /// </summary>
        public int Success { get; set; }

        /// <summary>
        ///     Gets or sets the text to be written in result window.
        /// </summary>
        public string Text { get; set; }

        #endregion
    }
}